package com.repair.api.worker.service;

import com.repair.api.worker.request.*;
import com.repair.api.worker.request.param.WorkerBlockParam;
import com.repair.api.worker.request.param.WorkerQueryParam;
import com.repair.api.worker.request.param.WorkerRealNameAuthParam;
import com.repair.api.worker.response.WorkerOperateResponse;
import com.repair.api.worker.response.WorkerQueryResponse;
import com.repair.api.worker.response.data.WorkerInfo;
import com.repair.base.response.PageResponse;


/**
 * Created by IntelliJ IDEA.
 *
 * @author zq
 * @version 1.0
 * @create 2024-09-29 14:21
 * @since jdk1.8
 */
public interface WorkerFacadeService {
    WorkerQueryResponse<WorkerInfo> query(WorkerQueryRequest workerQueryRequest);

    WorkerOperateResponse register(WorkerRegisterRequest workerRegisterRequest);

    WorkerOperateResponse loginStream(WorkerLoginStreamRequest<WorkerInfo> workerLoginStreamRequest);

    PageResponse<WorkerInfo> getAllWorkers(WorkerQueryPageRequest<WorkerQueryParam> queryParam);

    void updateWorkerAuth(WorkerAuthRealNameRequest<WorkerRealNameAuthParam> request);

    WorkerQueryResponse<Boolean> blockWorker(WorkerBlockRequest<WorkerBlockParam> param);
    WorkerQueryResponse<Boolean> cancelBlockWorker(WorkerBlockRequest<WorkerBlockParam> param);
}
